An essential ingredient of many information processing procedures is the searching of a database. Database searching typically entails a systematic examination of a collection of information elements, the database, stored in an electronic medium. The systematic examination is carried out electronically according to a predetermined criteria. Database searching is most often conducted to locate one or more items of data known to be contained in the database or, in the event of uncertainty, to determine whether certain data is in fact contained within the database.
Conventional database searching typically involves supplying an alphanumeric or character string to a processor and looking for a match between the supplied string and corresponding values stored in a memory. Further improvements in the speed and efficiency of conventional database searching is likely to be constrained, at least for the foreseeable future, by existing information processing technologies. As a result, other systems and procedures have been proposed for accomplishing the increasingly important task of database searching.
One alternative approach is the use of quantum computers. It is difficult, if not infeasible, however, to implement this approach using existing silicon-based processing devices. It follows that there is yet a need for alternative mechanisms for enhancing the efficacy and efficiency of database searching, preferably using existing technologies typified by CMOS circuitry. More particularly, there is a need for an effective and efficient mechanism for performing searches of databases comprising randomly organized and/or unsorted data elements.